﻿using SharpDX.Direct3D11;

namespace Engine.Graphics.VertexStructures
{
    public struct EngineVertexElements
    {
        #region Public Fields

        public static InputElement[] elements = new InputElement[]{
                new InputElement("POSITION", 0, SharpDX.DXGI.Format.R32G32B32_Float,0,0, InputClassification.PerVertexData, 0),//Position
                new InputElement("NORMAL", 0, SharpDX.DXGI.Format.R32G32B32_Float,12,0, InputClassification.PerVertexData, 0),//Normal
                new InputElement("TEXCOORD", 0, SharpDX.DXGI.Format.R32G32_Float,24,0, InputClassification.PerVertexData, 0),//UV
                //new InputElement("TEXCOORD", 1, SharpDX.DXGI.Format.R32G32_Float,0,1, InputClassification.PerVertexData, 0),// UV1
                //new InputElement("TEXCOORD", 2, SharpDX.DXGI.Format.R32G32_Float,8,1, InputClassification.PerVertexData, 0),// UV2
                //new InputElement("COLOR", 0, SharpDX.DXGI.Format.R32G32B32A32_Float,16,1, InputClassification.PerVertexData, 0),// Diffuse Color
                //new InputElement("COLOR", 1, SharpDX.DXGI.Format.R32G32B32A32_Float,32,1, InputClassification.PerVertexData, 0),// VertexColor
            };

        #endregion Public Fields
    }

    public struct Wr2VertexElements
    {
        #region Public Fields

        public static InputElement[] elements = new InputElement[]{
                new InputElement("POSITION", 0, SharpDX.DXGI.Format.R32G32B32_Float,0,0, InputClassification.PerVertexData, 0),//Position
                new InputElement("NORMAL", 0, SharpDX.DXGI.Format.R32G32B32_Float,12,0, InputClassification.PerVertexData, 0),//Normal
                new InputElement("TEXCOORD", 0, SharpDX.DXGI.Format.R32G32_Float,24,0, InputClassification.PerVertexData, 0),//UV
                new InputElement("TEXCOORD", 1, SharpDX.DXGI.Format.R32G32_Float,0,1, InputClassification.PerVertexData, 0),// UV1
                new InputElement("TEXCOORD", 2, SharpDX.DXGI.Format.R32G32_Float,8,1, InputClassification.PerVertexData, 0),// UV2
                new InputElement("COLOR", 0, SharpDX.DXGI.Format.R32G32B32A32_Float,16,1, InputClassification.PerVertexData, 0),// Diffuse Color
                new InputElement("COLOR", 1, SharpDX.DXGI.Format.R32G32B32A32_Float,32,1, InputClassification.PerVertexData, 0),// VertexColor
            };

        #endregion Public Fields
    }
}